package com.yuanlrc.base.util;

import com.yuanlrc.base.entity.admin.BookCategory;
import com.yuanlrc.base.entity.admin.Menu;

import java.util.ArrayList;
import java.util.List;

public class BookCatgoryUtil {

    /**
     * 获取所有的顶级图书分类
     * @param bookCategories
     * @return
     */
    public static List<BookCategory> getTopBSs(List<BookCategory> bookCategories){
        List<BookCategory> topBC = new ArrayList<BookCategory>();
        for(BookCategory bookCategory : bookCategories){
            if(bookCategory.getParent() == null){
                topBC.add(bookCategory);
            }
        }
        return topBC ;
    }

    /**
     * 获取二级图书分类
     * @param bookCategories
     * @return
     */
    public static List<BookCategory> getSecondBcs(List<BookCategory> bookCategories){
        List<BookCategory> secondBCs = new ArrayList<BookCategory>();
        for(BookCategory bookCategory : bookCategories){
            if(bookCategory.getParent() != null && bookCategory.getParent().getParent() == null){
                secondBCs.add(bookCategory);
            }
        }
        return secondBCs;
    }

    /**
     * 查看这个类型是否存在
     *
     */

    public static boolean isExistTypeName(String name, List<BookCategory> bookCategoryList)
    {
        BookCategory bookCategory = getBookCategoryByTypeName(name, bookCategoryList);
        if(bookCategory == null)
            return false;

        return true;
    }

    /**
     * 根据名称获取一个图书类型
     */
    public static BookCategory getBookCategoryByTypeName(String name, List<BookCategory> bookCategoryList)
    {
        for (BookCategory bookCategory : bookCategoryList)
        {
            if(bookCategory.getTypeName().equals(name))
                return bookCategory;
        }

        return null;
    }

//    /**
//     * 获取三级菜单分类
//     * @param menus
//     * @return
//     */
//    public static List<Menu> getThirdMenus(List<Menu> menus){
//        List<Menu> thirdMenus = new ArrayList<Menu>();
//        for(Menu menu : menus){
//            if(menu.getParent() != null && menu.getParent().getParent() != null){
//                thirdMenus.add(menu);
//            }
//        }
//        return thirdMenus;
//    }


//    /**
//     * 根据菜单url获取菜单id
//     * @param url
//     * @param menus
//     * @return
//     */
//    public static Long getMenuIdByUrl(String url,List<Menu> menus){
//        if(url == null)return null;
//        for(Menu menu : menus){
//            if(url.equals(menu.getUrl())){
//                return menu.getId();
//            }
//        }
//        return null;
////    }
//    /**
//     * 获取某个菜单id的所有子分类
//     * @param parentId
//     * @param bookCategories
//     * @return
//     */
//    public static List<BookCategory> getChildren(Long parentId,List<BookCategory> bookCategories){
//        List<BookCategory> children = new ArrayList<BookCategory>();
//        if(parentId != null){
//            for(BookCategory bookCategory : bookCategories){
//                if(bookCategory.getParent() != null && bookCategory.getParent().getId().longValue() == parentId.longValue()){
//                    children.add(bookCategory);
//                }
//            }
//        }
//        return children;
//    }

//    /**
//     * 判断给定的url是否存在于指定的列表
//     * @param url
//     * @param menus
//     * @return
//     */
//    public static boolean isExistUrl(String url,List<Menu> menus){
//        if(url != null){
//            for(Menu menu : menus){
//                if(menu.getUrl() != null){
//                    if(menu.getUrl().contains(url)){
//                        return true;
//                    }
//                }
//            }
//        }
//        return false;
//    }
}
